//package nancal.mp.base.extend
//
//import nancal.mp.db.mongo.entity.dev.AppDeploySetting
//import nancal.mp.service.NexusService
//import nbcp.base.extend.*
//import nbcp.base.json.*
//import nbcp.base.extend.*
//import nbcp.base.json.*
//import nbcp.base.utils.SpringUtil
//import nbcp.mvc.HttpContext
//import org.slf4j.LoggerFactory
//
//
///**
// * 按请求缓存
// */
//val AppDeploySetting.nancalFeignJarNexusDownloadUrl: String
//    get() {
//        if (this.nexusServer.nexusHttpUrl.isEmpty() ||
//            this.nancalFeignJar.isEmpty()
//        ) {
//            return "";
//        }
//
//        val CACHE_KEY = "latest-nancal-feign-url"
//        var nancalFeignUrl = HttpContext.request.getAttribute(CACHE_KEY).AsString();
//        if (nancalFeignUrl.HasValue) {
//            return nancalFeignUrl;
//        }
//
//        try {
//            nancalFeignUrl = SpringUtil.getBeanWithNull(NexusService::class)?.getLastedJarVersion(
//                this.code,
//                this.nancalFeignJar.groupId,
//                this.nancalFeignJar.artifactId,
//                this.nancalFeignJar.version.AsStringWithNull()
//            )?.data?.downloadUrl.AsString();
//        } catch (e: Exception) {
//            LoggerFactory.getLogger("nancalFeignJarNexusDownloadUrl").error(e.message, e);
//            return "";
//        }
//
//
//        if (nancalFeignUrl.HasValue) {
//            HttpContext.request.setAttribute(CACHE_KEY, nancalFeignUrl);
//        }
//
//        return nancalFeignUrl;
//    }